#include <iostream>
#include <signal.h>
#include <cstdlib>
#include <unistd.h>
void Usage(char *argv)
{
    std::cout << argv << " pid"
              << " num" << std::endl;
}

int cnt = 0;
void catchsig(int signo)
{
    std::cout << "获得到一个信号，信号编号是：" << signo << std::endl;
    //std::cout << "获得到一个信号，运行了：" << cnt << "次" << std::endl;

    //exit(2);
}

int main(int argc, char *argv[])
{
    for(int i = 0; i<=31; i++)
    {
        signal(i,catchsig);
    }
    while(true)
    {
        std::cout<<"the process is running:"<<getpid()<<std::endl;
        sleep(1);
    }
    //int arr[10];
    //arr[100000] = 0;
    // if (argc != 3)
    // {
    //     Usage(argv[0]);
    //     exit(1);
    // }

    // pid_t pid = atoi(argv[1]);
    // int num = atoi(argv[2]);
    // int n = kill(pid, num);
    // if (n != 0)
    // {
    //     perror("kill false.\n");
    // }

    // int cnt = 0;
    // while (cnt < 10)
    // {
    //     printf("cnt = %d\n", cnt++);
    //     if (cnt == 5)
    //     {
    //         // raise(9);
    //         abort();
    //     }
    // }
//    signal(SIGALRM, catchsig);
//    alarm(1);
//
//    while (true)
//    {
//        cnt++;
//    }
//
    return 0;
}
